#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

//    QPushButton*button=new QPushButton(this);//创建控件
//    button->setText("按钮");//给该控件写文本内容
//    button->move(100,100);//设置控件位置
//    //设置该控件为不可用状态
//    button->setEnabled(false);
//    //为该控件设置指定信号的槽函数
//    connect(button,&QPushButton::clicked,this,&Widget::handler);

    button1=new QPushButton(this);
    button2=new QPushButton(this);
    button1->setText("按钮");
    button2->setText("设置按钮不可用");
    button1->move(0,0);
    button2->move(0,50);

    connect(button1,&QPushButton::clicked,this,&Widget::handler1);
    connect(button2,&QPushButton::clicked,this,&Widget::handler2);
    //clicked这个信号，有两个版本，一个带参数bool，一个不带参数
    //带参数bool的clicked信号函数，true表示这个按钮被勾选了，false表示这个按钮没有被勾选
    //对于QPushButton这个按钮控件来说，按钮是否被勾选？？？这个东西没有意义，也不合理
    //所以，对于一般的QPushButton按钮控件来说，使用无参的clicked()信号即可

}

Widget::~Widget()
{
    delete ui;
}

void Widget::handler()
{
    qDebug()<<"handler()";
}

void Widget::handler1()
{
    qDebug()<<"handler1()";
}

void Widget::handler2()
{
    bool ret=button1->isEnabled();
    if(ret==false)
    {
        button1->setEnabled(true);
    }
    else
    {
        button1->setEnabled(false);
    }

}

//上移
void Widget::on_button_up_clicked()
{
    //获取button按钮控件的位置尺寸信息
    QRect rect=ui->button->geometry();
    qDebug()<<rect;
    //设置改控件上移后的位置
    ui->button->setGeometry(rect.x(),rect.y()-5,rect.width(),rect.height());

}
//下移
void Widget::on_button_down_clicked()
{
    //获取button按钮控件的位置尺寸信息
    QRect rect=ui->button->geometry();
    qDebug()<<rect;
    //设置改控件下移后的位置
    ui->button->setGeometry(rect.x(),rect.y()+5,rect.width(),rect.height());
}
//左移
void Widget::on_button_left_clicked()
{
    //获取button按钮控件的位置尺寸信息
    QRect rect=ui->button->geometry();
    qDebug()<<rect;
    //设置改控件左移后的位置
    ui->button->setGeometry(rect.x()-5,rect.y(),rect.width(),rect.height());
}
//右移
void Widget::on_button_right_clicked()
{
    //获取button按钮控件的位置尺寸信息
    QRect rect=ui->button->geometry();
    qDebug()<<rect;
    //设置改控件右移后的位置
    ui->button->setGeometry(rect.x()+5,rect.y(),rect.width(),rect.height());
}
